A distributed ledger, such as a blockchain, is a series of signed, hash-linked, append-only, timestamped blocks, each block containing arbitrary data. When viewed as a linked-list data structure, a blockchain is a limited data “stack” whose operations only allow users to “push” blocks onto the top. Users are not allowed to modify blocks or to “pull” blocks from the blockchain. Each new block that is added is appended to the topmost block in the stack. A new block links back to the former top-of-stack block by including a hash (e.g., a smaller mathematical representation) of the preceding block in the new block and binding this hash to the new block.